package com.vcit.system.mapper.clazz;

import java.util.List;
import com.vcit.system.domain.clazz.TClazzStudent;

/**
 * 学生分班Mapper接口
 * 
 * @author vcit
 */
public interface TClazzStudentMapper {
    /**
     * 查询学生分班
     * 
     * @param id 学生分班主键
     * @return 学生分班
     */
    public TClazzStudent selectTClazzStudentById(Long id);

    /**
     * 查询学生分班
     *
     * @param id 学生id
     * @return 学生分班
     */
    public TClazzStudent selectTClazzStudentByStudentId(Long id);

    /**
     * 查询学生分班列表
     * 
     * @param tClazzStudent 学生分班
     * @return 学生分班集合
     */
    public List<TClazzStudent> selectTClazzStudentList(TClazzStudent tClazzStudent);

    /**
     * 新增学生分班
     * 
     * @param tClazzStudent 学生分班
     * @return 结果
     */
    public int insertTClazzStudent(TClazzStudent tClazzStudent);

    /**
     * 修改学生分班
     *
     * @param tClazzStudent 学生分班
     * @return 结果
     */
    public int updateTClazzStudent(TClazzStudent tClazzStudent);

    /**
     * 根据学生ID修改学生分班
     *
     * @param tClazzStudent 学生分班
     * @return 结果
     */
    public int updateTClazzStudentByStudentId(TClazzStudent tClazzStudent);

    /**
     * 删除学生分班
     * 
     * @param id 学生分班主键
     * @return 结果
     */
    public int deleteTClazzStudentById(Long id);

    /**
     * 根据学生ID删除学生分班
     * 
     * @param studentId 学生ID
     * @return 结果
     */
    public int deleteTClazzStudentByStudentId(Long studentId);

    /**
     * 批量删除学生分班
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTClazzStudentByIds(Long[] ids);

    /**
     * 根据学生ID批量删除学生分班
     * 
     * @param studentIds 需要删除的学生ID集合
     * @return 结果
     */
    public int deleteTClazzStudentByStudentIds(Long[] studentIds);

    /**
     * 查询未分班学生信息
     *
     *
     * @param query
     * @return
     */
    List<TClazzStudent> selectTClazzEmptyStudentList(TClazzStudent query);
}